package com.xiaoxi.logserver.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaoxi.common.exception.BMSException;
import com.xiaoxi.domain.log.BMSLogOperation;
import com.xiaoxi.logserver.domain.dto.BMSLogOperationDTO;
import com.xiaoxi.logserver.domain.vo.BMSLogOperationVO;
import org.springframework.data.domain.Pageable;

/**
 * @ClassName BmsLogOperationService
 * @Description
 * @Author xiaoxi
 * @Date 2022-10-31
 * @Version 1.0
 */
public interface BmsLogOperationService extends IService<BMSLogOperation> {

    /**
     * 查询分页数据
     *
     * @param bmsLogOperationDTO 查询条件
     * @param pageable           分页规则
     * @return
     */
    IPage<BMSLogOperationVO> findListByPage(BMSLogOperationDTO bmsLogOperationDTO, Pageable pageable) throws BMSException;

    /**
     * 添加
     *
     * @param bmsLogOperation 操作日志
     */
    void add(BMSLogOperation bmsLogOperation) throws BMSException;

    /**
     * 删除操作日志
     *
     * @param id 主键
     */
    void delete(Long id) throws BMSException;

    /**
     * 修改操作日志
     *
     * @param bmsLogOperation 操作日志
     * @return JsonBean
     */
    void update(BMSLogOperation bmsLogOperation) throws BMSException;

    /**
     * id查询数据
     *
     * @param id id
     * @return BmsLogOperation
     */
    BMSLogOperation findById(Long id) throws BMSException;
}
